import { Column, Entity, PrimaryGeneratedColumn, OneToOne, JoinColumn } from 'typeorm'
import { User } from './User'

@Entity({ name: 'user_extend' })
export class UserExtend {
  @PrimaryGeneratedColumn({
    type: 'int',
    name: 'id',
    comment: '主键id'
  })
  id: number

  @Column({
    type: 'varchar', //字符串类型，变长字符串
    name: 'mobile',
    comment: '手机号',
    length: 11,
    nullable: true, //值是否可以为null
  })
  mobile: string

  @Column({
    type: 'varchar',
    name: 'address',
    comment: '地址',
    nullable: true,
  })
  address: string
  // 使用@OneToOne装饰允许我们在两个实体之间创建一对一的关系
  //user=>user.Detail表示反向关系查询
  @OneToOne(type => User, user => user.userDetail)
  // @JoinColumn装饰器，表明实体键的对应关系
  // 不是有关系的都要使用,只是在拥有外键约束的这张表的数据模型中使用
  @JoinColumn()
  user: User
}